* clean up gui main and fix a png.
- fix libpng warning: iCCP: known incorrect sRGB profile
issue with runit.png with pngcrush.
- fix includes for gui/main.cc, including removal of
CoreFoundation.h
- use QApplication static methods instead of going directly
to the underlying QCoreApplication static methods.
- no path setting in GUI, instead pass the full path to gpsbabel when using QProcess::start.
in formatload.cc xlt() use qt methods to get a char* instead of
resorting to stdlib. At this point Qt assumes all translate strings
are utf8. However, the formatload xlt intent doesn't work because
1) MainWindow::LoadLanguage hasn't been called when
MainWindow::loadFormats is called.
2) the translations don't exist for the format bits from gpsbabel
that fromatload tries to translate. I think this was the intent
of the gpsbabel_*.ts files which are very out of date and no
longer distributed.
//
//------------------------------------------------------------------------
-#include <QProcess>
-#include <QMessageBox>
-#include <QTextStream>
-#include <QCoreApplication>
-#include <QApplication>
+#include <QtCore/QByteArray> // for QByteArray
+#include <QtCore/QChar> // for operator==, QChar
+#include <QtCore/QCharRef> // for QCharRef
+#include <QtCore/QCoreApplication> // for QCoreApplication
+#include <QtCore/QObject> // for QObject
+#include <QtCore/QProcess> // for QProcess
+#include <QtCore/QRegExp> // for QRegExp
+#include <QtCore/QString> // for QString, operator+
+#include <QtCore/QTextStream> // for QTextStream
+#include <QtCore/QVariant> // for QVariant
+#include <QtWidgets/QApplication> // for QApplication
+#include <QtWidgets/QMessageBox> // for QMessageBox
+
#include "formatload.h"
-#include "appname.h"
+#include "appname.h" // for appName
+
//------------------------------------------------------------------------
static QString xlt(const QString& f)
{
- return QCoreApplication::translate("", f.toStdString().c_str());
+ return QCoreApplication::translate("", f.toUtf8().constData());
}
//------------------------------------------------------------------------
formatList.clear();
QProcess babel;
- babel.start("gpsbabel", QStringList() << "-^3");
+ babel.start(QApplication::applicationDirPath() + "/gpsbabel", QStringList() << "-^3");
if (!babel.waitForStarted()) {
return false;
}
#ifndef FORMATLOAD_H
#define FORMATLOAD_H
-#include "format.h"
+#include <QtCore/QList> // for QList
+#include <QtCore/QStringList> // for QStringList
+
+#include "format.h" // for Format
class FormatLoad
{
// USA
//
//------------------------------------------------------------------------
-#define _CRT_SECURE_NO_DEPRECATE 1
-#include <QMessageBox>
-#include <QFile>
-#include <QCoreApplication>
-#include <QLibraryInfo>
-#include <QIcon>
-#include <QTextCodec>
+#include <QtCore/QtGlobal> // for QT_VERSION, QT_VERSION_CHECK
+#include <QtGui/QIcon> // for QIcon
+#include <QtWidgets/QApplication> // for QApplication
-#include "mainwindow.h"
-#include "gmapdlg.h"
-
-#ifdef _WIN32
-const char* pathSeparator = ";";
-#else
-const char* pathSeparator = ":";
-#endif
-
-#if defined (Q_OS_MAC)
-#include <CoreFoundation/CoreFoundation.h>
-#endif
+#include "mainwindow.h" // for MainWindow
//------------------------------------------------------------------------
int main(int argc, char** argv)
QApplication app(argc, argv);
QApplication::setWindowIcon(QIcon(":/images/appicon.png"));
-
- QString newPath = "PATH=" + QApplication::applicationDirPath() +
- QString(pathSeparator) + getenv("PATH");
- char* newPathEnv = new char[newPath.length() + 1];
- strcpy(newPathEnv, newPath.toStdString().c_str());
- putenv(newPathEnv);
-
- QCoreApplication::setOrganizationName("GPSBabel");
- QCoreApplication::setOrganizationDomain("gpsbabel.org");
- QCoreApplication::setApplicationName("GPSBabel");
+ QApplication::setOrganizationName("GPSBabel");
+ QApplication::setOrganizationDomain("gpsbabel.org");
+ QApplication::setApplicationName("GPSBabel");
MainWindow mainWindow(nullptr);
mainWindow.show();
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
// USA
//
-#include <QDesktopServices>
-#include <QFileDialog>
-#include <QMessageBox>
-#include <QMimeData>
-#include <QProcess>
-#include <QSettings>
-#include <QTemporaryFile>
-#include <QTextStream>
-// #include <QDebug>
+#include <QtCore/QByteArray> // for QByteArray
+#include <QtCore/QDate> // for QDate
+#include <QtCore/QDateTime> // for QDateTime
+#include <QtCore/QDir> // for QDir
+#include <QtCore/QEvent> // for QEvent (& QEvent::LanguageChange, QEvent::LocaleChange)
+#include <QtCore/QFile> // for QFile
+#include <QtCore/QFileInfo> // for QFileInfo
+#include <QtCore/QLocale> // for QLocale
+#include <QtCore/QMimeData> // for QMimeData
+#include <QtCore/QProcess> // for QProcess, QProcess::NotRunning
+#include <QtCore/QRegExp> // for QRegExp
+#include <QtCore/QSettings> // for QSettings
+#include <QtCore/QTemporaryFile> // for QTemporaryFile
+#include <QtCore/QTime> // for QTime
+#include <QtCore/QUrl> // for QUrl
+#include <QtCore/QVariant> // for QVariant
+#include <QtCore/Qt> // for SmoothTransformation, WaitCursor
+#include <QtCore/QtGlobal> // for foreach
+#include <QtGui/QCursor> // for QCursor
+#include <QtGui/QDesktopServices> // for QDesktopServices
+#include <QtGui/QIcon> // for QIcon
+#include <QtGui/QImage> // for QImage
+#include <QtWidgets/QApplication> // for QApplication, qApp
+#include <QtWidgets/QCheckBox> // for QCheckBox
+#include <QtWidgets/QDialogButtonBox> // for QDialogButtonBox
+#include <QtWidgets/QFileDialog> // for QFileDialog
+#include <QtWidgets/QMessageBox> // for QMessageBox, operator|, QMessageBox::Yes, QMessageBox::No
+#include <QtWidgets/QPlainTextEdit> // for QPlainTextEdit
+#include <QtWidgets/QPushButton> // for QPushButton
+#include <QtWidgets/QRadioButton> // for QRadioButton
+#include <QtWidgets/QStackedWidget> // for QStackedWidget
+
+#include <cstdlib> // for exit
#include "mainwindow.h"
-#include "../gbversion.h"
-#include "aboutdlg.h"
-#include "advdlg.h"
-#include "appname.h"
-#include "babeldata.h"
-#include "donate.h"
-#include "filterdlg.h"
-#include "formatload.h"
-#include "gmapdlg.h"
-#include "help.h"
-#include "optionsdlg.h"
-#include "preferences.h"
-#include "processwait.h"
-#include "version_mismatch.h"
-#include "upgrade.h"
+#include "../gbversion.h" // for VERSION
+#include "aboutdlg.h" // for AboutDlg
+#include "advdlg.h" // for AdvDlg
+#include "appname.h" // for appName
+#include "babeldata.h" // for BabelData
+#include "donate.h" // for Donate
+#include "filterdlg.h" // for FilterDialog
+#include "formatload.h" // for FormatLoad
+#include "gmapdlg.h" // for GMapDialog
+#include "help.h" // for ShowHelp
+#include "optionsdlg.h" // for OptionsDlg
+#include "preferences.h" // for Preferences
+#include "processwait.h" // for ProcessWaitDialog
+#include "upgrade.h" // for UpgradeCheck
+#include "version_mismatch.h" // for VersionMismatch
+
+
const int BabelData::noType_ = -1;
const int BabelData::fileType_ = 0;
QString MainWindow::findBabelVersion()
{
QProcess babel;
- babel.start("gpsbabel", QStringList() << "-V");
+ babel.start(QApplication::applicationDirPath() + "/gpsbabel", QStringList() << "-V");
if (!babel.waitForStarted()) {
return QString();
}
{
QProcess* proc = new QProcess(nullptr);
QString name = "gpsbabel";
- proc->start(name, args);
+ proc->start(QApplication::applicationDirPath() + '/' + name, args);
ProcessWaitDialog* waitDlg = new ProcessWaitDialog(nullptr, proc);
if (proc->state() == QProcess::NotRunning) {
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
-#include "ui_mainwinui.h"
-#include "format.h"
-#include "filterdata.h"
-#include "babeldata.h"
-#include "upgrade.h"
+#include <QtCore/QEvent> // for QEvent
+#include <QtCore/QList> // for QList
+#include <QtCore/QObject> // for QObject (& Q_OBJECT, slots)
+#include <QtCore/QString> // for QString
+#include <QtCore/QStringList> // for QStringList
+#include <QtCore/QTranslator> // for QTranslator
+#include <QtGui/QCloseEvent> // for QCloseEvent
+#include <QtGui/QDragEnterEvent> // for QDragEnterEvent
+#include <QtGui/QDropEvent> // for QDropEvent
+#include <QtGui/QPixmap> // for QPixmap
+#include <QtWidgets/QAction> // for QAction
+#include <QtWidgets/QComboBox> // for QComboBox
+#include <QtWidgets/QLabel> // for QLabel
+#include <QtWidgets/QLineEdit> // for QLineEdit
+#include <QtWidgets/QMainWindow> // for QMainWindow
+#include <QtWidgets/QWidget> // for QWidget
+
+#include "babeldata.h" // for BabelData
+#include "filterdata.h" // for AllFiltersData
+#include "format.h" // for Format
+#include "ui_mainwinui.h" // for Ui_MainWindow
+#include "upgrade.h" // for UpgradeCheck
-#include <QTranslator>
class MainWindow: public QMainWindow
{